Microcomputers are frequently used as controllers for equipment or apparatus, et cetera. For example, in an internal combustion engine of the fuel injection type, a microcomputer is used to calculate the amount of fuel to be injected into the engine in accordance with various engine parameters. In this case, to calculate the amount of fuel to be injected it is necessary for a microcomputer to repeat prescribed operations many times during a short time period. Such repetitive operations are performed in response to program stored in a memory of the microcomputer; however, since the capacity of the memory to store the programs is desirably as small as possible, the programs are carried out in compliance with the steps of a prescribed circulating range.
However, in such a microcomputer, no counter-measures for noises, temperature or the like are normally taken in contrast to the measures taken with large computers. Consequently, malfunctions occur such that operations are performed without the program operating through the normal sequence thereof; in particular, program run-away may occur depending upon surrounding circumstances. Because of the possibility of program run-away, such microcomputers are frequently constructed to derive a run signal each time a prescribed step of a re-circulating section (re-circulating program) of the program is executed. The run signal confirms whether or not the microcomputer is operating according to the program. There is a known program run-away supervisory circuit for preventing program run-away by resetting the operation of the microcomputer; program run-away is detected in response to this run signal.
In a conventional program run-away supervisory circuit, program run-away is detected by the presence/absence of a run signal being generated in a prescribed time. It is possible to detect such a program run-away if no run signal is generated because the execution step of the microcomputer has jumped to a step out of a re-circulating program. However, if there is program run-away such that only a part of the steps including the above-mentioned prescribed step in the re-circulating program are performed, program run-away is not detected since the run signal is generated.
It is an object of the present invention to provide a program run-away supervisory circuit and method which can always and accurately detect a program run-away.